package com.cmict.data.system.service.encode;

import com.cmict.data.framework.common.pojo.PageResult;
import com.cmict.data.system.controller.admin.encode.vo.EncodeCreateReqVO;
import com.cmict.data.system.controller.admin.encode.vo.EncodeDataPageReqVO;
import com.cmict.data.system.dal.dataobject.encode.EncodeDO;

import java.util.List;


public interface EncodeService {
    /**
     * 创建自动编码数据
     *
     * @param reqVO 自动编码数据信息
     * @return 自动编码数据编号
     */
    Long createEncodeData(EncodeCreateReqVO reqVO);

    /**
     * 更新自动编码数据
     *
     * @param reqVO 自动编码数据信息
     */
    void updateEncodeData(EncodeCreateReqVO reqVO);

    /**
     * 删除自动编码
     *
     * @param id 自动编码数据编号
     */
    void deleteEncodeData(Long id);

    /**
     * 批量删除自动编码
     *
     * @param ids 自动编码数据编号
     */
    void deleteEncodeDataBatch(List<Long> ids);

    /**
     * 获得自动编码数据分页列表
     *
     * @param reqVO 分页请求
     * @return 自动编码数据分页列表
     */
    PageResult<EncodeDO> getDictEncodePage(EncodeDataPageReqVO reqVO);

    /**
     * 获得自动编码数据详情
     *
     * @param id 自动编码数据编号
     * @return 自动编码数据
     */
    EncodeDO getEncodeData(Long id);
}
